課程資訊
課程名稱
數位文本分析
Digital Text Analysis 
開課學期
109-1 
授課對象
文學院  外國語文學系  
授課教師
高照明 
課號
FL2208 
課程識別碼
102 24660 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期四5,6,7(12:20~15:10) 
上課地點
外教202 
備註
本課程中文授課,使用英文教科書。
總人數上限:20人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1091FL2208_ 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程是針對沒有程式設計經驗的同學所設計,內容涵蓋數位人文中的文本分析以及文科同學能夠理解的自然語言處理技術,包括中文的自動分詞,簡繁體的自動轉換,中英文的詞性標記,語法剖析,語義分析,人名,地名,組織名,時間,地點,數字,事件,語義角色,同義詞,搭配詞,關鍵詞的自動擷取,情感分析,主題分析,文字探勘,文字資料視覺化,作家的風格研究,語言特徵的擷取,可讀性分析,中英文句子及文件自動生成等議題。 

課程目標
本課程強調如何使用現有的數位工具解決文本分析的問題。本課程文本分析的主要語言是中英文,也將介紹能夠處理歐亞主要語言的工具。目標是修課同學在一學期內學會如何運用各種文本分析的工具以及基本的Python程式設計(最低要求需學會如何執行程式,並修改輸入及輸出的檔案名稱),學會如何將問題轉化成一連串的小問題,並透過一系列數位工具解決這些問題。我們希望同學能夠在這門課學會分析問題,規劃解決問題的流程和使用各種的工具的步驟,並且能夠修改並整合現有的相關程式工具,分析結果,再從結果中設計改善的方法。 
課程要求
上課出席,準時交作業和期末報告。 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
本課程不需購買教科書,上課使用網路的資料和圖書館可免費下載的電子書。 
參考書目
Text Analytics with Python: A Practical Real-World Approach to Gaining
Actionable Insights from your Data. Apress.
Natural Language Processing with Python – Analyzing Text with the Natural
Language Toolkit. https://www.nltk.org/book/
Spacy. https://spacy.io
HanLP. https://github.com/hankcs/HanLP
Stanza. https://stanfordnlp.github.io/stanza/ 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
作業 
60% 
 
2. 
期末報告 
40% 
 
 
課程進度
週次
日期
單元主題
第1週
9/17  課程概論:利用Voyant Tools, AntConc, AllenNLP等三種由簡單到複雜的工具體驗數位文本分
析 上課錄影資料在 http://nlp.csie.org/~sound/TextAnalysis/lect1.ecm.mp4/ 
第2週
9/24  如何不寫程式透過AntConc, TagAnt, SegmentAnt及regular expressions從中英文文本中擷取expressions關鍵詞,名詞組,動詞組,及各種詞性的組合與pattern及搭配語 
第3週
10/01  https://colab.research.google.com/drive/1sGbCLI56vTIblWMIZBB_f6qDtCIwHuWA#scrollTo=Lujbe3yD9_oY


Python 基礎及文本分析的應用:如何用短短幾行的程式透過Python的Textblob模組轉英文原型,呼叫Google機器翻譯系統,標注英文詞性,,及擷取名詞組。 
第4週
10/08 

https://colab.research.google.com/drive/1VP5_UnYJY-rkrPBNZc5Pa4zaM0ImyHm8?usp=sharing



https://colab.research.google.com/drive/1t5TlOxo5UVMdWidZio0vQtmkQ_Mlm3lA?usp=sharing


Python 基礎及文本分析的應用:如何用短短幾行的程式透過Python的Spacy模組標注英文詞性及語意角色並擷取名詞組。 
第5週
10/15 

如何在Colab上呼叫HanLP執行中文分詞和詞性標注


如何呼叫Python模組找出英文文本中的人,組織,時間,地點

https://colab.research.google.com/drive/1tS411ff7neudm81oGgiLvs14oyqqHF5A?usp=sharing 
第6週
10/22  Python Data Structures

https://colab.research.google.com/drive/1KqKbrK0LIF7HBS46RWcj1OKW5kE7mGSU?usp=sharing



Reading and Writing a Files in Python

https://colab.research.google.com/drive/1t7_zYkT2y7MBFdoxDaxGm0jgfRwi6VUb?usp=sharing
英文文本的自動語法分析 
第7週
10/29 
https://colab.research.google.com/drive/1t7_zYkT2y7MBFdoxDaxGm0jgfRwi6VUb



https://colab.research.google.com/drive/1DH8Xj7Ka77xxtdHCwvnx33b1UfXl6SNx?usp=sharing


https://colab.research.google.com/drive/11I6wheZG_5swCL9IP9YNMLSJNNRYy1DY?usp=sharing




https://colab.research.google.com/drive/11I6wheZG_5swCL9IP9YNMLSJNNRYy1DY?usp=sharing

英文文本的自動語義分析 
第8週
11/05  https://colab.research.google.com/drive/1t5TlOxo5UVMdWidZio0vQtmkQ_Mlm3lA?usp=sharing



https://colab.research.google.com/drive/1DH8Xj7Ka77xxtdHCwvnx33b1UfXl6SNx


Transformers https://colab.research.google.com/drive/11Cl3LyN24QTHdfwxDdK8X_JtyTOuFwPT?usp=sharing
英文文本的向量化 
第9週
11/12  中文文本的資訊處理

https://colab.research.google.com/drive/17DmiFBNSl77o0rW81LtREcg7zJUYJg-m?usp=sharing 
第10週
11/19 
Assignment 4 https://colab.research.google.com/drive/1EaasenOlB43Y9BE3BanyZVyQ3rjiFofn

Assignment 5
https://colab.research.google.com/drive/1cJmq7kUNtZHw5bxtI4gnbSTO3z2GiGY0?usp=sharing



Assignment 6
https://colab.research.google.com/drive/1oQcqxdwnV9W-s-3j3vEswU9Xh7RvucJl
機器學習套件簡介 
第11週
11/26  機器學習與自然語言處理的結合 
第12週
12/03  知識圖譜 
第13週
12/10  如何計算句子及文件的相似度 
第14週
12/17  如何將文本以圖形來呈現 
第15週
12/24  文本分析的相關應用